# coding:utf-8   #强制使用utf-8编码格式
import smtplib  # 加载smtplib模块
from email.mime.text import MIMEText
from email.utils import formataddr
import traceback

my_sender = 'jkjaiyx@126.com'  # 发件人邮箱账号，为了后面易于维护，所以写成了变量
my_user = 'jkjaiyx@126.com'  # 收件人邮箱账号，为了后面易于维护，所以写成了变量
my_user_2 = 'hongjun.jia@ucarinc.com'  # 收件人邮箱账号，为了后面易于维护，所以写成了变量
# my_user_3 = 'programmerlijin@163.com'  # 收件人邮箱账号，为了后面易于维护，所以写成了变量


def send_email(str):
    ret = True
    try:
        msg = MIMEText('很遗憾，程序异常，请尽快处理！！！\n' + str, 'plain', 'utf-8')
        msg['From'] = formataddr(["家伙", my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号
        msg['To'] = formataddr(["伙伴", my_user])  # 括号里的对应收件人邮箱昵称、收件人邮箱账号
        msg['Subject'] = "程序异常"  # 邮件的主题，也可以说是标题

        server = smtplib.SMTP("smtp.126.com", 25)  # 发件人邮箱中的SMTP服务器，端口是25
        server.login(my_sender, "jhj198606.")  # 括号中对应的是发件人邮箱账号、邮箱密码
        server.sendmail(my_sender, [my_user, my_user_2, ], msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件

        server.quit()  # 这句是关闭连接的意思
    except Exception as e:  # 如果try中的语句没有执行，则会执行下面的ret=False
        traceback.print_exc()
        ret = False
    finally:
        if ret:
            print("email send ok")  # 如果发送成功则会返回ok，稍等20秒左右就可以收到邮件
        else:
            print("email send filed")  # 如果发送失败则会返回filed
    return ret
